/**
 * %s 会格式化变量为字符串
%d 会格式化变量为数字
%i 会格式化变量为其整数部分
%o 会格式化变量为对象
 */
console.log('我的%s已经%d岁', '猫', 2)

// console.clear() 会清除控制台（其行为可能取决于所使用的控制台）
console.clear()

// count 方法会对打印的字符串的次数进行计数
const x = 1
const y = 2
const z = 3

console.count(
    'x 的值为 ' + x + ' 且已经检查了几次?'
)
console.count(
    'x 的值为 ' + x + ' 且已经检查了几次?'
)
console.count(
    'y 的值为 ' + y + ' 且已经检查了几次?'
)

//   打印函数的堆栈调用跟踪信息
const function2 = () => console.trace()
const function1 = () => function2()
function1()


// time() 和 timeEnd() 轻松地计算函数运行所需的时间
console.time('while循环')
var i = 99999999;
while (i-- > 0) {

}
console.timeEnd('while循环')

// console.error 会打印到 stderr 流。
// stderr 
// stdout 标准输出
console.error('asdasdasd')

//控制台文字带颜色打印 参考手册见 ./nodejs控制台转义字符颜色参考表.md
const chalk = require('chalk')
// console.log('\x1b[33m%s\x1b[0m','这是黄色文字')
console.log(chalk.yellow('这是黄色文字'))

//使用进度条
const ProgressBar = require('progress')

//每一秒走一个进度
const bar = new ProgressBar(':bar', { total: 100 })
const timer = setInterval(() => {
  bar.tick()
  if (bar.complete) {
    clearInterval(timer)
  }
}, 1000)